#pragma once

#include <MemoryPoolFactory.h>
#include <Singleton.h>

using namespace util;

class Zone;

class ZoneFactory : public util::Singleton<ZoneFactory>
{
public:
	ZoneFactory(void);
	~ZoneFactory(void);

	VOID							Init();
	VOID							Release();
	Zone*							AllocZone();
	VOID							FreeZone( Zone *pZone );
	
private:
	CMemoryPoolFactory<Zone>		*m_pZonePool;
};
